package com.tydic.borderer.domain.bo;

import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.Valid;
import jakarta.validation.constraints.*;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;

@Data
public class DeclarationFormSummaryBo implements Serializable {
    @Serial
    private static final long serialVersionUID = 8572322946967733926L;
    /**
     *  申报单汇总ID
     */
    private String id;
    /**
     *  申报单编号
     */
    @NotBlank(message = "请输入申报单编号")
    private String declarationNumber;
    /**
     *  商铺编号
     */
    @NotBlank(message = "请输入商铺编号")
    private String shopNumber;
    /**
     *  商铺名称
     */
    @NotBlank(message = "请输入商铺名称")
    private String shopName;
    /**
     *  登记时间
     */
    @NotNull(message = "请输入登记时间")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    private Date registerTime;
    /**
     *  重量单位
     */
    @NotBlank(message = "请输入重量单位")
    private String weightUnit;
    /**
     *  金额单位
     */
    @NotBlank(message = "请输入金额单位")
    private String monetaryUnit;
    /**
     *  边民信息列表
     */
    @NotEmpty(message = "请填写边民信息")
    @Valid
    private ArrayList<DeclarationFormSummaryBordererInfoBo> bordererInfos;
}
